﻿#include"SeqList.h"

void test(SL* ps)
{
	//SLPrint(ps);
	SLInit(ps);
	//SLInsert(ps, 0, 1);
	//SLInsert(ps, 1, 2);
	//SLInsert(ps, 2, 3);
	//SLInsert(ps, 3, 4);
	//SLInsert(ps, 4, 5);
	//SLErase(ps, -1);
	//SLInsert(ps, 3, 1);
	//SLErase(ps, 4);
	//SLErase(ps, 0);

	//SLPushFront(ps, 0);
	//SLPushBack(ps, 6);
	//SLPopFront(ps);
	//SLPopBack(ps);
	//printf("%d\n", SLFind(ps, 13));
	//SLModify(ps, 4, 6);
	//SLDel(ps);
	//SLModify(ps, 5, 6);

	//SLPrint(ps);
	SLDel(ps);
}

void menu(SL* ps)
{
	printf("	◢▅▅▅▅▅▅▅▅◣　　　　　                    \n");
	printf("	◢◤　　　　　　◥◣　　　　  ____________________________\n");
	printf("	◤　　　　　　　　◥◣　     |你好~我是顺序表(ゝω・)	  |\n");
	printf("	▎　　　◢█◣　　　◥◣◢◤    |请问你需要的服务呀~		  |\n");
	printf("	◣　　◢◤　　◥◣　　　　　  |1.尾插 2.尾删 3.头插 4.打印  |\n");
	printf("	◥██◤　　◢◤　　　        /5.头删  6.指定插入 7.指定删除 |\n");
	printf("	█　O　　　　　O　　█   \\ 8.查询   9.修改  10.退出     |\n");
	printf("	█　〃　　　◕　　〃　█    ———————————————\n");
	printf("	◥◣　　.☺　  ◢◤\n");
	printf("	◥█▅▃▃　▃ ▃▅█◤\n");
	printf("	◢◤　　　◥◣\n");
	printf("	█　　　　　█\n");
	printf("	◢◤▕　　　▎◥◣\n");
	printf("	▃◣◢▅▅▅◣◢▃▕\n");
	printf("         ============\n");
	printf("         =当前个数:%d=\n",ps->size);
	printf("         =存储容量:%d=\n",ps->capacity);
	printf("---------============----------\n");
	printf("-------------------------------\n");


}

int main()
{
	SL s;
	SLInit(&s);
	int flag = 0;
	int num = 0;
	//test(&s);
	while (1)
	{
		menu(&s);
		printf("请输入你需要的服务(〃'▽'〃)：");
		scanf("%d", &flag);
		switch (flag)
		{
		case 1:
			printf("请问插入的数是：");
			scanf("%d", &num);
			SLPushBack(&s, num);
			break;
		case 2:
			SLPopBack(&s);
			break;
		case 3:
			printf("请问插入的数是：");
			scanf("%d", &num);
			SLPushFront(&s, num);
			break;
		case 4:
			SLPrint(&s);
			break;
		case 5:
			SLPopFront(&s);
			break;
		case 6:
			printf("请输入需要插入的位置(从1开始哦~)：");
			scanf("%d", &num);
			int c = 0;
			printf("请输入需要插入的数据哦~：");
			scanf("%d", &c);
			SLInsert(&s, num - 1, c);
			break;
		case 7:
			printf("请输入需要删除的位置(从1开始哦~)：");
			scanf("%d", &num);
			SLErase(&s, num - 1);
			break;
		case 8:
			printf("请输入需要查询的数字：");
			scanf("%d", &num);
			int a = SLFind(&s, num);
			if (a == -1)
				printf("翻到箱底了也没找到(︶.̮︶✽)~\n");
			else
				printf("找到了，位置在%d这里哦\n", a);
			break;
		case 9:
			printf("请输入需要修改的位置哦~：");
			scanf("%d", &num);
			int b = 0;
			printf("请输入需要修改的数据哦~：");
			scanf("%d", &b);
			SLModify(&s, num - 1, a);
			break;
		case 10:
			printf("欢迎下次继续享受服务哦~ヾ(✿ﾟ▽ﾟ)ノ\n");
			SLDel(&s);
			exit(-1);
		default:
			printf("喂！我听不懂啊喂凸(｀0´)凸\n");
			break;
		}
	}
	return 0;
}